% Stanford University PhD thesis style -- modifications to the report style
% This is unofficial so you should always double check against the
% Registrar's office rules
%
% People are free to borrow as long as they change the name and date
% in the \typeout lines, the name of the file, and acknowledge the
% work that has been done by previous people.  Ideally they should
% comment their changes.

% Original version by Joseph Pallas back in 1989
% Modified by Emma Pease 5/7/92
%   added singlespace environment from doublespace.sty
%   added switches for variant title pages
%   modified the figure environment according to changes in latex.tex
%   corrected the signature page due to University rule changes
%   added an optional third reader to signature page
% Corrected a spacing problem with style changes 5/14/92 - Emma
% Modified by Emma Pease 1/10/95
% Modified for latex2e  5/17/95
%   changed \@xfloat and \@footnotetext to reflect latex2e changes
% Modified for latex2e 6/22/95 (Emma Pease)
%   changed singlespace environment so it would work (taken from doublespace.sty)
% Modified 9/8/95 (Emma Pease)
%   removed doublespace.sty commands and explicitely inputted
%   doublespace
% Modified 12/17/96 (Emma Pease)
%   added optional \coprincipaladvisor (\coprincipaladviser)
% Modified 5/29/98
%   replaced the required doublespace.sty by setspace.sty
% Modified 8/21/98
%   added a \businessthesis for the school of business
% Modified 8/22/98 
%   added a \lawthesis
% Modified 8/23/98
%   spelling error in \businessthesis def corrected
% Modified 5/14/1999 by Emma Pease
%   'By' dropped from title page
% Modified 7/26/1999 by Emma Pease
%   copyright page fixed
% Modified 9/28/99 by Emma Pease
%   more copyright page fixings
% Modified 10/28/99 by Emma Pease
%   and more copyright page fixings plus a minor mod on bibliography
%   need to start thinking of overhauling to standard package format
% Modified 11/26/99
%   fixed copyrightyear so that all Fall quarter theses are next
%   year's copyright

% Modified 5/31/01 by Emma Pease
%   fixed certification statement.  Setup for twoside option.
% Modified 6/4/01 by Emma Pease
%   emphasized that it is unofficial
% Modified 8/3/01 by Emma Pease
%   setup so that on twoside if the intro material (page numbered with
%   roman numerals) ends on an odd page an extra blank page is included so
%   the main body (page numbered with arabic numbers) starts on an odd
%   absolute page  (explanation modified 5/28/02)
% Modified 5/28/02 by Emma Pease
%   made first and second reader optional (not that the first reader
%   should ever be missing but someone managed to avoid a second reader)
%   If they aren't defined, they won't appear
% Modified 7/13/2003 by Emma Pease
%   dropped signature line for ``Approved for the University Committee
%   on Graduate Studies'' on signature page.  Also made sure the next
%   section starts on an odd page if two sided.
% Modified 11/19/03 by Emma Pease
%   fixed the bibliography so the addcontentsline works correctly with
%   hyperref.  Thanks to Peter Sturdza for pointing out this
% Modified 2/14/04 by Emma Pease
%   Changed documentation on how to change line spacing
% Modified 6/29/04 by Emma Pease
%   Correction to humanitiesthesis definition

% Modified 11/9/2004 by Emma Pease
%   Reformatted Signature Page to fit requirements
%   Reformatted Title page to fit requirements

% Modified 8/26/2005 by Emma Pease
%   Modified \language to \languagemajor so as not to interfere with
%   babel. 

% Modifed 10/31/2005 by Emma Pease
%   added an optional fourth reader to signature page (Biology)
%   added a length \signaturespace

% Modified 8/23/2006 by Emma Pease
%   added () around names on signature page

% Modified 5/7/2007 by Emma Pease
%   redefined \@endpart so that blank page after part has page number
%   as per thesis office requirements

% Modified 9/17/2008 by Emma Pease
%   changed copyright year calculations so September theses are summer

% November 2009 by Emma Pease
%   changing to use online or hardcopy options for the new online
%   submission possibility.  

% Modified May 2010 by Emma Pease
%   added command \onlinesignature which creates a signatue page
%   for the online version.  This should be the last command before the 
%   \end{document} 

% Modified May 2014 by Emma Pease
%   fixed error in the signature page (Stanford University Committee not just University Committee)

% Modified Sep 2014 by Diego Ongaro
%   Added list of tables and list of figures to table of contents.
%   Changed \cleardoublepage after signature page to \clearpage.
%   Renamed from suthesis-2e.sty to suthesis-2e-mod.sty to comply with license.

%%%%%
%%%%%   PRELIMS
%%%%%

\ProvidesPackage{suthesis-2e-mod}[2014/09/09]



%%\typeout{Document Style Option `suthesis-2e-mod' for latex2e <$Date: 9/9/2014 $>.}
\typeout{Note that this tries to fulfill the Stanford Thesis
  requirements but it is unofficial}

% First thing we do is make sure that report has been loaded.  A
% common error is to try to use suthesis as a documentstyle.
\@ifundefined{chapter}{\@latexerr{The `suthesis' option should be used
with the `report' document style}{You should probably read the
suthesis documentation.}}{}

%%%%%
%%%%%   SETUP DOUBLESPACING
%%%%%

% include doublespace.sty for some of the stuff below

\RequirePackage{setspace}

% default to hardcopy submission
\newif\ifonline
\onlinefalse
\DeclareOption{online}{\onlinetrue}
\DeclareOption{hardcopy}{\onlinefalse}
\ProcessOptions


% Use 1.3 times the normal baseline-to-baseline skip
\setstretch{1.3}


%%%%%
%%%%%   DOCUMENTATION
%%%%%

\long\def\comment#1{}
\comment{

  Example of use:
    \documentclass{report}

\usepackage{suthesis-2e-mod}
\dept{Computer Science}


    \begin{document}
    \title{How to Write Theses\\
            With Two Line Titles}
    \author{John Henry Candidate}
    \principaladviser{John Parker}
    \firstreader{John Green}
    \secondreader{John BigBooty}
    \thirdreader{Jane Supernumerary} %if needed
    \fourthreader{Severus Snape} %if needed
 
    \beforepreface
    \prefacesection{Preface}
        This thesis tells you all you need to know about...
    \prefacesection{Acknowledgments}
        I would like to thank...
    \afterpreface
 
    \chapter{Introduction}
         ...
    \chapter{Conclusions}
         ...
    \appendix
    \chapter{A Long Proof}
         ...
    \bibliographystyle{plain}
    \bibliography{mybib}
    \end{document}

Documentation: 
    This style file modifies the standard report style to follow the
    Graduate Degree Support Section of the Registrar's Office's
    "Directions for Preparing Doctoral Dissertations".  It sets the
    margins and interline spacing and disallows page breaks at
    hyphens.

    The \beforepreface command creates the title page, a copyright page
    (optionally), and a signature page.  Then the user should put
    preface section(s), using the \prefacesection{section title}
    command.  The \afterpreface command then produces the tables of
    contents, tables and figures, and sets things up to start
    the main body (on arabic page 1).
    
    The following commands can control what goes in the front matter
    material:
    
        \title{thesis title}
        \author{author's name}
        \dept{author's department}
                - Computer Science if omitted
The following switches allow for special title pages (not all are current)
        \committeethesis - for a thesis in a committee (no dept.)
                           use \dept{committee name}
        \programthesis - for a thesis in a program (no dept.)
                           use \dept{program name}
        \educationthesis - for the School of Education. \dept doesn't matter
        \businessthesis - for the GraduateSchool of Business. \dept doesn't matter
        \lawthesis - for the School of law. \dept doesn't matter
        \humanitiesthesis - for a thesis also submitted to the Graduate
                            Program in Humanities
        \specialthesis  - for a Graduate Special thesis
        \industrialthesis - for a thesis in Industrial Engineering
        \dualthesis     - for a thesis in a dual language department.
                          Also define \languagemajor{language}.
                          e.g., \dept{French and Italian} 
                          \languagemajor{Italian}
         \principaladviser{the principal advisor's name}
           (or \principaladvisor, if you prefer advisor spelled with o)
        \coprincipaladviser{optional second principal advisor's name}
           (or \coprincipaladvisor, use only if you have two principal
           advisors only for the second one)
        \firstreader{the first reader's name}
        \secondreader{the second reader's name}
        \thirdreader{optional third reader's name}
        \fourthreader{optional fourth reader's name}
        \setlength{\signaturespace}{.5in} 
                - default is .5in, can be adjusted to fit all
                signatures in one page
        \submitdate{month year in which submitted to GPO}
                - date LaTeX'd if omitted
        \copyrightyear{year degree conferred (next year if submitted
          in Fall quarter)}
                - year LaTeX'd (or next year, in December) if omitted
        \copyrighttrue or \copyrightfalse
                - produce or don't produce a copyright page (true by default)
        \thesiscopyrighttrue or \thesiscopyrightfalse
                - produces the style of copyright page listed by the
                Thesis Office or the style that everyone else uses
                (Thesis office by default).
        \figurespagetrue or \figurespagefalse
                - produce or don't produce a List of Figures page
                  (true by default)
        \tablespagetrue or \tablespagefalse
                - produce or don't produce a List of Tables page
                  (true by default)

This style uses interline spacing that is 1.3 times normal, except
in the figure and table environments where normal spacing is used.
That can be changed by doing:
    \setstretch{1.6}
(or whatever you want instead of 1.6)

This command should be put before the \begin{document} command but
after loading the packages

You can also set any particular section in singlespacing mode by using
the singlespace environment.  For example

\begin{quote}
\begin{singlespace}
...
\end{singlespace}
\end{quote}

makes the quote singlespaced.  See the documentation for setspace.sty
for more information.

The example at the beginning shows the 12pt substyle being used.  This
seems to give acceptable looking results, but it may be omitted to get
smaller print.

}



%%%%%
%%%%%   SETUP MARGINS AND PENALTIES NEEDED FOR STANFORD THESIS
%%%%%

% We need 1" margins except on the binding edge, where it is 1 1/2"
% Theses may be either single or double sided
  \if@twoside
     \setlength\oddsidemargin   {36.1\p@}
     \setlength\evensidemargin  {0\p@}
     \setlength\marginparwidth {40\p@}
  \else
     \setlength\oddsidemargin   {36.1\p@}
     \setlength\evensidemargin  {36.1\p@}
     \setlength\marginparwidth  {40\p@}
  \fi

\marginparsep 10pt
%\oddsidemargin 0.5in \evensidemargin 0in
%\marginparwidth 40pt 


\topmargin 0pt \headsep .5in
\textheight 8.1in \textwidth 6in

% Disallow page breaks at hyphens (this will give some underfull vbox's,
% so an alternative is to use \brokenpenalty=100 and manually search
% for and fix such page breaks)
\brokenpenalty=10000

%%%%%
%%%%%   SETUP COMMANDS PECULIAR TO THESES
%%%%%

% \author, \title are defined in report; here are the rest of the
% front matter defining macros
\def\dept#1{\gdef\@dept{#1}}
\def\advis@r{Adviser} % default spelling
\def\principaladviser#1{\gdef\@principaladviser{#1}}
\def\principaladvisor#1{\gdef\@principaladviser{#1}\gdef\advis@r{Advisor}}
\def\coprincipaladvisor#1{\gdef\@coprincipaladviser{#1}\gdef\advis@r{Co-Advisor}}
\def\coprincipaladviser#1{\gdef\@coprincipaladviser{#1}\gdef\advis@r{Co-Adviser}}
\def\firstreader#1{\gdef\@firstreader{#1}}
\def\secondreader#1{\gdef\@secondreader{#1}}
\def\thirdreader#1{\gdef\@thirdreader{#1}}
\def\fourthreader#1{\gdef\@fourthreader{#1}}
\def\submitdate#1{\gdef\@submitdate{#1}}
\def\copyrightyear#1{\gdef\@copyrightyear{#1}} % \author, \title in report
% needed only for dual language departments to choose the language
\def\languagemajor#1{\gdef\@languagemajor{#1}} \def\@language{babel}
\def\jointprogram#1{\gdef\@jointprogram{#1}}
\def\@title{}\def\@author{}\def\@dept{computer science}
\def\@principaladviser{}\def\@firstreader{*}\def\@secondreader{*}
\def\@coprincipaladviser{*}
\def\@thirdreader{*}
\def\@fourthreader{*}
\def\@submitdate{\ifcase\the\month\or
  January\or February\or March\or April\or May\or June\or
  July\or August\or September\or October\or November\or December\fi
  \space \number\the\year}
% Stanford says that Fall quarter theses should have the next year as the
% copyright year
\ifnum\month>9
    \@tempcnta=\year \advance\@tempcnta by 1
    \edef\@copyrightyear{\number\the\@tempcnta}
\else
    \def\@copyrightyear{\number\the\year}
\fi
\newif\ifcopyright \newif\iffigurespage \newif\iftablespage
\newif\ifthesiscopyright


\copyrighttrue 
\thesiscopyrighttrue

\figurespagetrue \tablespagetrue


\def\@standardsub{submitted to the department of \uppercase\expandafter{\@dept}\\
                and the committee on graduate studies}
\def\@standardend{}

\def\committeethesis{\let\@whichsub=\@committeesub}
\def\programthesis{\let\@whichsub=\@programsub}
\def\educationthesis{\let\@whichsub=\@educationsub}
\def\businessthesis{\let\@whichsub=\@businesssub}
\def\lawthesis{\let\@whichsub=\@lawsub}
\def\humanitiesthesis{\let\@whichsub=\@humanitiessub%
\let\@whichend=\@humanitiesend}
\def\specialthesis{\let\@whichsub=\@specialsub%
\let\@whichend=\@specialend}
\def\industrialthesis{\let\@whichsub=\@industrialsub%
\let\@whichend=\@industrialend}
\def\dualthesis{\let\@whichsub=\@dualsub%
\let\@whichend=\@dualend}


\def\@committeesub{SUBMITTED TO THE COMMITTEE ON \uppercase\expandafter{\@dept}\\
                AND THE COMMITTEE ON GRADUATE STUDIES}
\def\@programsub{SUBMITTED TO THE PROGRAM IN \uppercase\expandafter{\@dept}\\
                AND THE COMMITTEE ON GRADUATE STUDIES}
\def\@educationsub{SUBMITTED TO THE GRADUATE SCHOOL OF EDUCATION\\
                AND THE COMMITTEE ON GRADUATE STUDIES}
\def\@businesssub{SUBMITTED TO THE GRADUATE SCHOOL OF BUSINESS\\ AND THE
  COMMITTEE ON GRADUATE STUDIES}
\def\@lawsub{SUBMITTED TO THE GRADUATE SCHOOL OF LAW\\
                AND THE COMMITTEE ON GRADUATE STUDIES}

\def\@humanitiessub{SUBMITTED TO THE DEPARTMENT OF\\ \uppercase\expandafter{\@dept}
                                AND THE\\ COMMITTEE ON\\ GRADUATE STUDIES}
\def\@humanitiesend{\\IN\\ \uppercase\expandafter{\@jointprogram} AND HUMANITIES}

\def\@specialsub{SUBMITTED TO THE COMMITTEE ON GRADUATE STUDIES}
\def\@specialend{\\IN\\ \uppercase\expandafter{\@dept}}


\def\@dualsub{SUBMITTED TO THE DEPARTMENT OF \uppercase\expandafter{\@dept}\\
AND THE COMMITTEE ON GRADUATE STUDIES}
\def\@dualend{\\IN\\ \uppercase\expandafter{\@languagemajor}}


\let\@whichend=\@standardend
\let\@whichsub=\@standardsub


\def\titlep{%
        \thispagestyle{empty}%
        \null\vskip1in%
        \begin{center}
                \large\uppercase\expandafter{\@title}
        \end{center}
        \vfill
        \begin{center}
\large
%                \sc a dissertation\\
%                \lowercase\expandafter{\@whichsub}\\
%                of stanford university\\
%                in partial fulfillment of the requirements\\
%                for the degree of\\
%                doctor of philosophy \uppercase\expandafter{\@whichend}
                A DISSERTATION\\
                \uppercase\expandafter{\@whichsub}\\
                OF STANFORD UNIVERSITY\\
                IN PARTIAL FULFILLMENT OF THE REQUIREMENTS\\
                FOR THE DEGREE OF\\
                DOCTOR OF PHILOSOPHY \uppercase\expandafter{\@whichend}
        \end{center}
        \vfill
        \begin{center}
                \rm \@author\\
                \@submitdate\\
        \end{center}\vskip.5in\newpage}

\def\thesiscopyrightpage{%
        \null\vfill
        \begin{center}
                \large
                \copyright\ Copyright\ by \@author\ \@copyrightyear\\
                All Rights Reserved
        \end{center}
        \vfill\newpage}

\def\tradcopyrightpage{%
        \null\vfill
        \begin{center}
                \large
                Copyright\ \copyright\ \@copyrightyear\ by \@author\\
                All Rights Reserved
        \end{center}
        \vfill\newpage}




\newlength{\signaturespace}
\setlength{\signaturespace}{.5in}


\long\def\signature#1{%
\begin{flushright}
\begin{minipage}{5in}
\parindent=0pt
I certify that I have read this dissertation and that, in my opinion,
it is fully adequate in scope and quality as a dissertation for the degree
of Doctor of Philosophy.
\par
\vspace{\signaturespace}
%\hbox to 4in{\hfil\shortstack{\vrule width 3in height 0.4pt\\ #1}}
\hbox to 5in{\hfil\begin{tabular}{@{}l@{}}\vrule width 3in height
    0.4pt depth 0pt\\ #1\end{tabular}}
\end{minipage}
\end{flushright}}

\long\def\ucgssignature{%
\begin{flushright}
\begin{minipage}{5in}
\parindent=0pt
\hfill Approved for the Stanford University Committee on Graduate Studies
\par
\vspace{\signaturespace}
\hbox to 5in{\hfil\begin{tabular}{@{}l@{}}\vrule width 3in height
    0.4pt depth 0pt\end{tabular}}
\end{minipage}
\end{flushright}}


\def\signaturepage{% 
\ifonline
\setcounter{page}{0}
\def\thepage{}
\thispagestyle{myheadings}
\markboth{\rm \@author}{\rm \@author}\fi
\signature{(\@principaladviser)\quad Principal \advis@r}
  \vfill
% if second principal advisor
        \if*\@coprincipaladviser \else
        \signature{(\@coprincipaladviser)\quad Principal \advis@r}
        \vfill\fi
        \if*\@firstreader \else 
        \signature{(\@firstreader)}
        \vfill\fi
        \if*\@secondreader \else 
        \signature{(\@secondreader)}
        \vfill\fi
% if thirdreader then do \signature\@thirdreader \vfill
        \if*\@thirdreader \else 
        \signature{(\@thirdreader)}
        \vfill\fi
% if fourthreader then do \signature\@fourthreader \vfill
        \if*\@fourthreader \else 
        \signature{(\@fourthreader)}
        \vfill\fi
\ucgssignature
}

\def\onlinesignature{
\cleardoublepage
\@twosidetrue
\signaturepage
}

\def\beforepreface{
        \pagenumbering{roman}
        \pagestyle{plain}
        \titlep
% online version has no copyright or signature pages but page counter
% must be incremented
% signature page should come at end
        \ifonline\setcounter{page}{4}\else
        \ifcopyright\ifthesiscopyright\thesiscopyrightpage\else\tradcopyrightpage\fi\fi
        \signaturepage\fi
        \clearpage}
        

\def\prefacesection#1{%
        \chapter*{#1}
        \addcontentsline{toc}{chapter}{#1}}

\def\afterpreface{\newpage
        \phantomsection
        \addcontentsline{toc}{chapter}{Contents}
        \label{contents}
        \tableofcontents
        \iftablespage
                \newpage
                \phantomsection
                \addcontentsline{toc}{chapter}{List of tables}
                \listoftables
        \fi
        \iffigurespage
                \newpage
                \phantomsection
                \addcontentsline{toc}{chapter}{List of figures}
                \listoffigures
        \fi
        \cleardoublepage
        \pagenumbering{arabic}
        \pagestyle{headings}}

% Redefine \thebibliography to go to a new page and put an entry in the
% table of contents
\let\@ldthebibliography\thebibliography
\renewcommand{\thebibliography}[1]{\newpage
                \@ldthebibliography{#1}%
\addcontentsline{toc}{chapter}{\bibname}}

% redefine \@endpart so the blank page after part has a page number
\def\@endpart{\vfil\newpage
              \if@twoside
               \if@openright
                \null
                \thispagestyle{plain}%
                \newpage
               \fi
              \fi
              \if@tempswa
                \twocolumn
              \fi}


% Start out normal
\pagestyle{headings}
